package com.yunyao.framework.dto.spreconciliatioin;

import com.yunyao.framework.vo.spreconciliation.SpReconciliationMaterialVO;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class SpReconciliationSaveDto implements Serializable {
    private static final long serialVersionUID = 4453647088827054670L;
    /**
     * 主键ID
     */
    private String id;

    /**
     * 对账周期开始时间
     */
    private String reconciliationStartDate;

    /**
     * 对账周期结束时间
     */
    private String reconciliationEndDate;

    /**
     * 销售合同ID
     */
    private String contractId;

    /**
     * 销售合同编号
     */
    private String contractNo;

    /**
     * 合同名称
     */
    private String contractName;

    /**
     * 采购单位ID
     */
    private String purchaseDeptId;

    /**
     * 采购单位名称
     */
    private String purchaseDeptName;

    /**
     * 项目ID
     */
    private String projectId;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 供货单位ID
     */
    private String supplyDeptId;

    /**
     * 供货单位名称
     */
    private String supplyDeptName;

    /**
     * 供应商ID
     */
    private String supplierDeptId;

    /**
     * 供应商名称
     */
    private String supplierDeptName;

    /**
     * 供货订单数量
     */
    private Integer supplyNum;

    /**
     * 供货订单含税总价
     */
    private BigDecimal supplyIncludingTaxTotalPrice;

    /**
     * 对账确认时间
     */
    private Date reconciliationConfirmDate;

    /**
     * 对账人Id
     */
    private String reconciliationConfirmPersonId;

    /**
     * 对账确认人
     */
    private String reconciliationConfirmPerson;

    /**
     * 对账确认说明
     */
    private String reconciliationConfirmMark;

    /**
     * 对账确认文件
     */
    private String reconciliationFile;

    /**
     * 备注
     */
    private String mark;

    /**
     * 创建时间
     */
    private String createdAt;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 创建部门
     */
    private String createDept;

    /**
     * 修改时间
     */
    private Date updatedAt;

    /**
     * 修改人
     */
    private String updatedBy;

    /**
     * 业务状态 1:正常
     */
    private Integer status;

    /**
     * 数据删除状态0:未删除,1:删除
     */
    private Integer isDeleted;

    /**
     * 租户ID
     */
    private String tenantId;

    /**
     * 流程审批状态
     */
    private String auditStatus;

    /**
     * 流程实例ID
     */
    private String processInstanceId;

    /**
     * 流程设计模板信息ID
     */
    private String modelSchemeInfoId;

    /**
     * 流程部署ID
     */
    private String deploymentId;

    /**
     * 流程版本
     */
    private String processVersion;

    /**
     * 创建的标识0:手工 1:自动
     */
    private String createStatus;

    /**
     * 提醒结算的时间
     */
    private String  remindDate;

    /**
     * 核对附件
     */
    private String checkFile;

    /**
     * 核对说明
     */
    private String checkMark;

    /**
     * 合同方式0电线电缆及光纤光缆 1 电梯及扶梯
     */
    private String contractMethod;

    /**
     * 项目所属部门ID
     */
    private String projectDeptId;

    /**
     * 项目所属部门名称
     */
    private String projectDeptName;

    /**
     * 云采确认人
     */
    private String ycConfirmPersonId;

    /**
     * 云采确认人名称
     */
    private String ycConfirmPerson;

    /**
     * 云采确认时间
     */
    private Date ycConfirmDate;

    /**
     * 云采确认备注
     */
    private String ycConfirmMark;

    /**
     * 云采确认附件
     */
    private String ycFile;

    /**
     * 对账数量
     */
    private BigDecimal reconciliationNum;

    /**
     * 对账含税总金额
     */
    private BigDecimal reconciliationPrice;

    /**
     * 供货清单单id
     */
    private List<String> poSupplyIdList;

    /**
     * 合同返利点
     */
    private BigDecimal contractRebatePoints;

    /**
     * 合同返利点金额(元)
     */
    private BigDecimal contractRebatePrice;

    /**
     * 编辑时对账信息列表
     */
    List<SpReconciliationMaterialVO> spReconciliationMaterialList;

    /**
     * 历史对账金额
     */
    private BigDecimal historyTotalPrice;
}
